home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat3 / Tk / pack-old.z / pack-old
Text File  |  1998-10-30  |  12KB  |  265 lines

  1.  
  2.  
  3.  
  4. ppppaaaacccckkkk----oooolllldddd((((3333TTTTkkkk))))                                                    ppppaaaacccckkkk----oooolllldddd((((3333TTTTkkkk))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      pack-old - Obsolete syntax for packer geometry manager
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ppppaaaacccckkkk aaaafffftttteeeerrrr _s_i_b_l_i_n_g _w_i_n_d_o_w _o_p_t_i_o_n_s ?_w_i_n_d_o_w _o_p_t_i_o_n_s ...?
  13.  
  14.      ppppaaaacccckkkk aaaappppppppeeeennnndddd _p_a_r_e_n_t _w_i_n_d_o_w _o_p_t_i_o_n_s ?_w_i_n_d_o_w _o_p_t_i_o_n_s ...?
  15.  
  16.      ppppaaaacccckkkk bbbbeeeeffffoooorrrreeee _s_i_b_l_i_n_g _w_i_n_d_o_w _o_p_t_i_o_n_s ?_w_i_n_d_o_w _o_p_t_i_o_n_s ...?
  17.  
  18.      ppppaaaacccckkkk uuuunnnnppppaaaacccckkkk _w_i_n_d_o_w
  19.  
  20.  
  21. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  22.      _N_o_t_e: _t_h_i_s _m_a_n_u_a_l _e_n_t_r_y _d_e_s_c_r_i_b_e_s _t_h_e _s_y_n_t_a_x _f_o_r _t_h_e ppppaaaacccckkkk _c_o_m_m_a_n_d _a_s _i_t
  23.      _e_x_i_s_t_e_d _b_e_f_o_r_e _T_k _v_e_r_s_i_o_n _3._3.  _A_l_t_h_o_u_g_h _t_h_i_s _s_y_n_t_a_x _c_o_n_t_i_n_u_e_s _t_o _b_e
  24.      _s_u_p_p_o_r_t_e_d _f_o_r _b_a_c_k_w_a_r_d _c_o_m_p_a_t_i_b_i_l_i_t_y, _i_t _i_s _o_b_s_o_l_e_t_e _a_n_d _s_h_o_u_l_d _n_o_t _b_e
  25.      _u_s_e_d _a_n_y_m_o_r_e.  _A_t _s_o_m_e _p_o_i_n_t _i_n _t_h_e _f_u_t_u_r_e _i_t _m_a_y _c_e_a_s_e _t_o _b_e _s_u_p_p_o_r_t_e_d.
  26.  
  27.      The packer is a geometry manager that arranges the children of a parent
  28.      by packing them in order around the edges of the parent.  The first child
  29.      is placed against one side of the window, occupying the entire span of
  30.      the window along that side.  This reduces the space remaining for other
  31.      children as if the side had been moved in by the size of the first child.
  32.      Then the next child is placed against one side of the remaining cavity,
  33.      and so on until all children have been placed or there is no space left
  34.      in the cavity.
  35.  
  36.      The bbbbeeeeffffoooorrrreeee, aaaafffftttteeeerrrr, and aaaappppppppeeeennnndddd forms of the ppppaaaacccckkkk command are used to
  37.      insert one or more children into the packing order for their parent.  The
  38.      bbbbeeeeffffoooorrrreeee form inserts the children before window _s_i_b_l_i_n_g in the order;  all
  39.      of the other windows must be siblings of _s_i_b_l_i_n_g.  The aaaafffftttteeeerrrr form inserts
  40.      the windows after _s_i_b_l_i_n_g, and the aaaappppppppeeeennnndddd form appends one or more
  41.      windows to the end of the packing order for _p_a_r_e_n_t.  If a _w_i_n_d_o_w named in
  42.      any of these commands is already packed in its parent, it is removed from
  43.      its current position in the packing order and repositioned as indicated
  44.      by the command.  All of these commands return an empty string as result.
  45.  
  46.      The uuuunnnnppppaaaacccckkkk form of the ppppaaaacccckkkk command removes _w_i_n_d_o_w from the packing order
  47.      of its parent and unmaps it.  After the execution of this command the
  48.      packer will no longer manage _w_i_n_d_o_w's geometry.
  49.  
  50.      The placement of each child is actually a four-step process; the _o_p_t_i_o_n_s
  51.      argument following each _w_i_n_d_o_w consists of a list of one or more fields
  52.      that govern the placement of that window.  In the discussion below, the
  53.      term _c_a_v_i_t_y refers to the space left in a parent when a particular child
  54.      is placed (i.e. all the space that wasn't claimed by earlier children in
  55.      the packing order).  The term _p_a_r_c_e_l refers to the space allocated to a
  56.      particular child;  this is not necessarily the same as the child window's
  57.      final geometry.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ppppaaaacccckkkk----oooolllldddd((((3333TTTTkkkk))))                                                    ppppaaaacccckkkk----oooolllldddd((((3333TTTTkkkk))))
  71.  
  72.  
  73.  
  74.      The first step in placing a child is to determine which side of the
  75.      cavity it will lie against.  Any one of the following options may be used
  76.      to specify a side:
  77.  
  78.      ttttoooopppp  Position the child's parcel against the top of the cavity, occupying
  79.           the full width of the cavity.
  80.  
  81.      bbbboooottttttttoooommmm
  82.           Position the child's parcel against the bottom of the cavity,
  83.           occupying the full width of the cavity.
  84.  
  85.      lllleeeefffftttt Position the child's parcel against the left side of the cavity,
  86.           occupying the full height of the cavity.
  87.  
  88.      rrrriiiigggghhhhtttt
  89.           Position the child's parcel against the right side of the cavity,
  90.           occupying the full height of the cavity.
  91.  
  92.      At most one of these options should be specified for any given window.
  93.      If no side is specified, then the default is ttttoooopppp.
  94.  
  95.      The second step is to decide on a parcel for the child.  For ttttoooopppp and
  96.      bbbboooottttttttoooommmm windows, the desired parcel width is normally the cavity width and
  97.      the desired parcel height is the window's requested height, as passed to
  98.      TTTTkkkk____GGGGeeeeoooommmmeeeettttrrrryyyyRRRReeeeqqqquuuueeeesssstttt. For lllleeeefffftttt and rrrriiiigggghhhhtttt windows, the desired parcel height
  99.      is normally the cavity height and the desired width is the window's
  100.      requested width.  However, extra space may be requested for the window
  101.      using any of the following options:
  102.  
  103.      ppppaaaaddddxxxx _n_u_m    Add _n_u_m pixels to the window's requested width before
  104.                  computing the parcel size as described above.
  105.  
  106.      ppppaaaaddddyyyy _n_u_m    Add _n_u_m pixels to the window's requested height before
  107.                  computing the parcel size as described above.
  108.  
  109.      eeeexxxxppppaaaannnndddd      This option requests that the window's parcel absorb any
  110.                  extra space left over in the parent's cavity after packing
  111.                  all the children.  The amount of space left over depends on
  112.                  the sizes requested by the other children, and may be zero.
  113.                  If several windows have all specified eeeexxxxppppaaaannnndddd then the extra
  114.                  width will be divided equally among all the lllleeeefffftttt and rrrriiiigggghhhhtttt
  115.                  windows that specified eeeexxxxppppaaaannnndddd and the extra height will be
  116.                  divided equally among all the ttttoooopppp and bbbboooottttttttoooommmm windows that
  117.                  specified eeeexxxxppppaaaannnndddd.
  118.  
  119.      If the desired width or height for a parcel is larger than the
  120.      corresponding dimension of the cavity, then the cavity's dimension is
  121.      used instead.
  122.  
  123.      The third step in placing the window is to decide on the window's width
  124.      and height.  The default is for the window to receive either its
  125.      requested width and height or the those of the parcel, whichever is
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ppppaaaacccckkkk----oooolllldddd((((3333TTTTkkkk))))                                                    ppppaaaacccckkkk----oooolllldddd((((3333TTTTkkkk))))
  137.  
  138.  
  139.  
  140.      smaller.  If the parcel is larger than the window's requested size, then
  141.      the following options may be used to expand the window to partially or
  142.      completely fill the parcel:
  143.  
  144.      ffffiiiillllllll Set the window's size to equal the parcel size.
  145.  
  146.      ffffiiiillllllllxxxx
  147.           Increase the window's width to equal the parcel's width, but retain
  148.           the window's requested height.
  149.  
  150.      ffffiiiillllllllyyyy
  151.           Increase the window's height to equal the parcel's height, but
  152.           retain the window's requested width.
  153.  
  154.      The last step is to decide the window's location within its parcel.  If
  155.      the window's size equals the parcel's size, then the window simply fills
  156.      the entire parcel.  If the parcel is larger than the window, then one of
  157.      the following options may be used to specify where the window should be
  158.      positioned within its parcel:
  159.  
  160.      ffffrrrraaaammmmeeee cccceeeennnntttteeeerrrr   Center the window in its parcel.  This is the default if
  161.                     no framing option is specified.
  162.  
  163.      ffffrrrraaaammmmeeee nnnn        Position the window with its top edge centered on the top
  164.                     edge of the parcel.
  165.  
  166.      ffffrrrraaaammmmeeee nnnneeee       Position the window with its upper-right corner at the
  167.                     upper-right corner of the parcel.
  168.  
  169.      ffffrrrraaaammmmeeee eeee        Position the window with its right edge centered on the
  170.                     right edge of the parcel.
  171.  
  172.      ffffrrrraaaammmmeeee sssseeee       Position the window with its lower-right corner at the
  173.                     lower-right corner of the parcel.
  174.  
  175.      ffffrrrraaaammmmeeee ssss        Position the window with its bottom edge centered on the
  176.                     bottom edge of the parcel.
  177.  
  178.      ffffrrrraaaammmmeeee sssswwww       Position the window with its lower-left corner at the
  179.                     lower-left corner of the parcel.
  180.  
  181.      ffffrrrraaaammmmeeee wwww        Position the window with its left edge centered on the
  182.                     left edge of the parcel.
  183.  
  184.      ffffrrrraaaammmmeeee nnnnwwww       Position the window with its upper-left corner at the
  185.                     upper-left corner of the parcel.
  186.  
  187.      The packer manages the mapped/unmapped state of all the packed children
  188.      windows.  It automatically maps the windows when it packs them, and it
  189.      unmaps any windows for which there was no space left in the cavity.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ppppaaaacccckkkk----oooolllldddd((((3333TTTTkkkk))))                                                    ppppaaaacccckkkk----oooolllldddd((((3333TTTTkkkk))))
  203.  
  204.  
  205.  
  206.      The packer makes geometry requests on behalf of the parent windows it
  207.      manages.  For each parent window it requests a size large enough to
  208.      accommodate all the options specified by all the packed children, such
  209.      that zero space would be leftover for eeeexxxxppppaaaannnndddd options.
  210.  
  211.  
  212. KKKKEEEEYYYYWWWWOOOORRRRDDDDSSSS
  213.      geometry manager, location, packer, parcel, size
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.